package Graficas;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;

import javax.swing.WindowConstants;
import javax.swing.border.BevelBorder;

/**
 * Una clase que proporciona un menu para el juego. Brinda la interfaz de usuario necesaria para
 * interactuar con el usuario del programa.
 * 
 * @author Mariano Rodecker
 * @author Matias Varela
 * 
 */
public class MenuJuego extends javax.swing.JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JPanel jPanel1;
	private JButton buttonStart;
	private JLabel jLabel1;
	private JPanel jPanel2;
	private MenuJuego thisFrame;

	/**
	 * Auto-generated main method to display this JFrame
	 */
	public static void main(String[] args) {
		SplashScreen sS = new SplashScreen(1000);
		sS.showSplash2();

		MenuJuego frame = new MenuJuego();
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);

	}

	public MenuJuego() {
		super();
		initGUI();
		this.thisFrame = this;
		iniciar(3,0);
	}

	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
			setResizable(false);
			setBackground(Color.black);
			getContentPane().setLayout(null);
			{
				jPanel1 = new JPanel();
				jPanel1.setBackground(Color.black);
				getContentPane().add(jPanel1);
				jPanel1.setBounds(0, 0, 450, 550);
				jPanel1.setBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED));
				jPanel1.setLayout(null);
				{
					buttonStart = new JButton();
					jPanel1.add(buttonStart);
					buttonStart.setText("Comenzar Juego");
					buttonStart.setBounds(128, 306, 190, 39);
					buttonStart.setFont(new java.awt.Font("Segoe UI", 1, 16));
					buttonStart.setForeground(new java.awt.Color(0, 0, 0));
					buttonStart.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt) {
							iniciar(3,0);
						}
					});
				}
				{
					jLabel1 = new JLabel();
					jPanel1.add(jLabel1);
					jLabel1.setText("");
					jLabel1.setIcon(new ImageIcon(getClass().getResource("/FilesJuego/images/image.png")));

					jLabel1.setBounds(0, 0, jPanel1.getWidth(), jPanel1.getHeight());
				}
			}
			{
				jPanel2 = new JPanel();
				getContentPane().add(jPanel2);
				jPanel2.setBackground(Color.black);
				jPanel2.setBounds(0, 0, 450, 550);
				jPanel2.setFocusable(true);
				jPanel2.grabFocus();

			}
			pack();
			this.setSize(450, 550);
		} catch (Exception e) {
			// add your error handling code here
			e.printStackTrace();
		}
	}
	public void iniciar(int vidas,int puntos){
		/*
		 * el panel de menu se oculta al usuario y se crea el panel de juego,
		 * iniciando posteriormente la ejecucion del juego.
		 */
		jPanel1.setVisible(false);
		jPanel2.removeAll();
		panelJuego j = new panelJuego(thisFrame);
		jPanel2.add(j);
		j.iniciarJuego(vidas,puntos);
		j.grabFocus();
	}

	/**
	 * Restaura el menu.
	 */
	public void restaurar(boolean volverAEjecutar,int vidas,int puntos) {
		jPanel2.removeAll();
		if (volverAEjecutar)
			iniciar(vidas,puntos);
		paintAll(getGraphics());
	}

}
